package com.codi.bus.core.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.codi.base.domain.BaseDomain;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@Accessors(chain = true)
@NoArgsConstructor
public class OrganProfileVoNew extends BaseDomain{
    private Long profileId;
//    @NotNull
//    private Boolean threeInOne = false;

    @NotBlank(message = "机构名称不能为空")
    @Length(max = 60, message = "机构名称不能超过60个字符")
    private String companyName;

    @NotBlank(message = "营业执照不能为空")
    @Length(max = 18, message = "营业执照不能超过18个字符")
    private String businessLicence;

//    @NotNull
//    private Boolean businessLicenceLongEffective = false;

//    @JSONField(format = "yyyy-MM-dd")
//    private Date businessLicenceExpireDate;

//    @Length(max = 20, message = "税务登记号不能超过20个字符")
//    private String taxRegister;
//
//    @Length(max = 20, message = "组织机构代码不能超过20个字符")
//    private String organCode;

    @NotBlank(message = "联系地址不能为空")
    @Length(max = 120, message = "联系地址不能超过120个字符")
    private String address;

    @NotBlank(message = "邮政编码不能为空")
    @Length(max = 6, message = "邮政编码不能超过6个字符")
    private String postcode;

//    @NotBlank(message = "行业编码不能为空")
//    @Length(max = 1, message = "行业编码不能超过1个字符")
//    private String trade;

//    @NotBlank(message = "企业性质不能为空")
//    @Length(max = 1, message = "企业性质不能超过1个字符")
//    private String corProperty;
//
//    @NotBlank(message = "注册资本不能为空")
//    @Length(max = 19, message = "注册资本不能超过19个字符")
//    private String regCapital;

    @NotBlank(message = "经营范围不能为空")
    @Length(max = 60, message = "经营范围不能超过60个字符")
    private String businessRange;

    @NotBlank(message = "法人名称不能为空")
    @Length(max = 20, message = "法人名称不能超过20个字符")
    private String instreprName;

    @NotBlank(message = "法人身份证不能为空")
    @Length(max = 18, message = "法人身份证不能超过18个字符")
    private String instreprIdNo;
//    private Boolean instreprIdNoLongEffective = false;
//
//    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
//    private Date instreprIdNoExpireDate;

    // 经办人
    @NotBlank(message = "经办人名称不能为空")
    @Length(max = 20, message = "经办人名称不能超过20个字符")
    private String contactName;

    @NotBlank(message = "经办人身份证不能为空")
    @Length(max = 18, message = "经办人身份证不能超过18个字符")
    private String contactIdNo;

    @NotBlank(message = "经办人电话不能为空")
    @Length(max = 22, message = "经办人电话不能超过22个字符")
    private String contactTel;

    @NotBlank(message = "实际收益人不能为空")
    @Length(max = 100, message = "实际收益人不能超过100个字符")
    private String beneficiary;

    @NotBlank(message = "实际控制人不能为空")
    @Length(max = 100, message = "实际控制人不能超过100个字符")
    private String owner;

    @NotBlank(message = "交易密码不能为空")
    @Length(min = 6, max = 6)
    private String tradePassword;

    @NotBlank
    private String applyNo;

//    @NotBlank(message = "交易报备号码不能为空")
//    @Length(max = 11, message = "交易报备号码不能超过11个字符")
//    private String tradeReportTel;

//    @NotBlank(message = "仅为中国税收居民不能为空")
    private Integer isChinaTax;
}
